package com.bms.entity;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;

@Data
public class Activity {
    // 活动ID
    private String activityId;

    // 条线ID
    private String budgetId;

    // 活动名称
    private String activityName;

    // 活动内容
    private String activityContent;

    // 活动预算额度
    private BigDecimal activityBudget;

    // 活动开始时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date startTime;

    // 活动结束时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date endTime;

    // 活动分类ID
    private String categoryId;

    // 预发比例（如80%）
    private BigDecimal preReleaseRatio;

    // 预发金额，这是一个计算属性
    private BigDecimal forecastAmount;

    // 剩余金额，这也是一个计算属性
    private BigDecimal remainingAmount;

    // 活动状态
    private int status;

    // 创建时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date createdDate;

    // 更新时间
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Asia/Shanghai")
    private Date updateDate;

    // 计算预发金额
    public BigDecimal getForecastAmount() {
        return activityBudget.multiply(preReleaseRatio);
    }

    // 计算剩余金额
    public BigDecimal getRemainingAmount() {
        return activityBudget.multiply(BigDecimal.ONE.subtract(preReleaseRatio));
    }
}
